package com.xf.system.enums;

/**
 * @author xiefengf
 * @version 1.0
 * @date 2024/7/30 15:14
 *
 * 报表统计维度枚举类
 */
public enum DimensionEnum {

    /**
     * value没有对应的枚举类,返回空字符串
     */
    NOT_FOUNT_ENUM("", -1),
    /**
     * 周
     */
    WEEK("周", 1),
    /**
     * 月
     */
    MONTH("月", 2),
    /**
     * 季度
     */
    QUARTER("季度", 3),
    /**
     * 半年
     */
    HALF_A_YEAR("半年", 4),
    /**
     * 年
     */
    YEAR("年", 5);

    private final String name;

    private final Integer type;

    DimensionEnum(String name, Integer type) {
        this.name = name;
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public Integer getType() {
        return type;
    }

    /**
     * 根据type获取枚举类
     * @param type 类型
     * @return
     */
    public static DimensionEnum getByType(Integer type) {
        for (DimensionEnum enums : DimensionEnum.values()) {
            if (enums.type.equals(type)) {
                return enums;
            }
        }
        return NOT_FOUNT_ENUM;
    }

    /**
     * 根据name获取枚举类
     * @param name  名称
     * @return
     */
    public static DimensionEnum getByName(String name) {
        for (DimensionEnum enums : DimensionEnum.values()) {
            if (enums.name.equals(name)) {
                return enums;
            }
        }
        return NOT_FOUNT_ENUM;
    }

}
